export function operate(num1, num2, operator) {
    // 先找这两个数字中哪个的小数点后面的位数比较多
    // 将数字转成字符串
    var newNum1 = num1 + ''
    var newNum2 = num2 + ''
    // 找数字中小数点的下标
    var num1DotIndex = newNum1.indexOf('.')
    var num2DotIndex = newNum2.indexOf('.')
    // 判断是否这两个都是整数
    if (num1DotIndex === -1 && num2DotIndex === -1) {
        return eval(num1 + operator + num2)
    }
    // 判断第一个数是否是整数
    if (num1DotIndex === -1) {
        var num2Suffix = newNum2.slice(num2DotIndex + 1)
        var max = num2Suffix.length
    } else if (num2DotIndex === -1) { // 判断第二个数是否是整数
        var num1Suffix = newNum1.slice(num1DotIndex + 1)
        var max = num1Suffix.length
    } else { // 两个数都不是整数
        // 将小数点后面的字符串截取出来
        var num1Suffix = newNum1.slice(num1DotIndex + 1)
        var num2Suffix = newNum2.slice(num2DotIndex + 1)
        // 判断哪个比较大
        var max = num1Suffix.length
        if (num1Suffix.length < num2Suffix.length) {
            max = num2Suffix.length
        }
    }
    // 让这两个数字都乘以 10的max次方 - 变成整数了
    var num1Zheng = num1 * Math.pow(10, max)
    var num2Zheng = num2 * Math.pow(10, max)
    switch (operator) {
        case '+':
            // 相加
            var result = num1Zheng + num2Zheng
            break
        case '-':
            var result = num1Zheng - num2Zheng
            break
        case '*':
            var result = num1Zheng * num2Zheng
            // 乘法两个数都扩大了10的max次方，相乘后10的max次方乘以了10的max次方，最终结果，应该除以两
            //个10的max次方
            result /= Math.pow(10, max)
            break
        case '/':
            var result = num1Zheng / num2Zheng
            result = +result.toFixed(2)
            break
        default:
            throw new Error('请输入正确的运算符')
    }
    // 再将结果除以10的max次方
    return result / Math.pow(10, max)
}